"""
# 1. 导包json
# 2. with open() 只读方式，打开文件，获取文件对象
# 3. 调用方法获取文件内容：读取的内容 = json.load(文件对象)
# 4. 将获取的键值强制转换成元组，再追加到列表中
# 5. with语句外面，返回列表数据[(), (), ()]

def build_data(filepath):
    # 功能：读取json文件组装成[(), (), ()]格式的数据
    # :param filepath: 指定处理的json文件
    # :return: 组装完成的列表数据
"""
import json


def build_data(filepath):
    """
    # 功能：读取json文件组装成[(), (), ()]格式的数据
    # :param filepath: 指定处理的json文件
    # :return: 组装完成的列表数据
    """

    # 0. with的前面，定义一个空列表
    data_list = []
    # 2. with open() 只读方式，打开文件，获取文件对象
    with open(filepath, 'r', encoding='utf-8') as f:
        # 3. 调用方法获取文件内容：读取的内容 = json.load(文件对象)
        data = json.load(f)
        # 读取的内容为：[{}, {}, {}]
        # print(data)
        # 4. 遍历列表data的元素，取出来就是字典
        for temp in data:
            # print(temp)
            # 取出字典的值，转换为元组，再打印
            # print(    tuple(   temp.values()  )    )
            # print('=' * 50)
            # 取出字典的值，转换为元组
            temp_tuple = tuple(temp.values())
            # 列表追加元组
            data_list.append(temp_tuple)

    # 和with平级, 很容易忘记返回值
    return data_list


if __name__ == '__main__':
    # 函数的调用
    ret = build_data('login.json')
    print(f'ret内容为：{ret}')
